package com.xhtt.modules.reportform.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xhtt.common.utils.DateUtils;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * <p>
 * 统计分析-每班巡检情况
 * </p>
 *
 * @author xj
 * @since 2019-02-14
 */
@Data
public class InsEveryTeamReport {

    private Integer taskId;

    /**
     * 执行人
     */
    private String executor;

    /**
     * 巡检日期
     */
    private LocalDateTime date;

    private String dateStr;

    /**
     * 巡检开始时间
     */
    @JsonFormat(pattern = "HH:mm")
    private LocalDateTime insStartDate;

    /**
     * 巡检结束时间
     */
    @JsonFormat(pattern = "HH:mm")
    private LocalDateTime insEndDate;

    private String time;

    /**
     * 日班还是夜班
     */
    private String shiftName;

    /**
     * 班组名称
     */
    private String teamName;

    /**
     * 班组id
     */
    private Integer teamId;

    /**
     * 巡检类型
     */
    private Integer inspectType;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 线路类型
     */
    private String lineType;


    /**
     * 实际巡检用时
     */
    private Integer minutes;

    /**
     * 一天巡检一共用时
     */
    private String minuteStr;

    /**
     * 巡检结果
     */
    private String result;

    /**
     * 一共需要完成次数
     */
    private int totalCount;

    /**
     * 已完成
     */
    private int finishCount;

    /**
     * 延期完成条数
     */
    private int delayCount;

    /**
     * 未开始
     */
    private int noStartCount;

    /**
     * 状态;主要是为了区分周/月巡检和日巡检的, 周巡检在sql中已经计算出巡检结果,日巡检需要在代码中实现
     */
    private Integer status;

    public String getDateStr() {
        try {
            return DateUtils.df.format(date);
        } catch (Exception e) {
            return "";
        }
    }

    public String getTime() {
        try {
            return DateUtils.tf.format(insStartDate) + "-" + DateUtils.tf.format(insEndDate);
        } catch (Exception e) {
            return "-";
        }
    }
}
